👨‍👩‍👧‍👦 API de Responsáveis - Documentação Completa

📋 Visão Geral

A API de Responsáveis é responsável por toda a gestão de responsáveis no sistema CordenaAi, incluindo cadastro, atualização, consulta, relacionamento com atletas e funcionalidades específicas como pesquisa e gerenciamento de vínculos. Esta API fornece a base para o sistema de responsabilidade legal e familiar, permitindo a associação entre responsáveis e atletas com identificadores flexíveis.

🎯 Endpoints Disponíveis

👨‍👩‍👧‍👦 Responsáveis - Gestão de Responsáveis

1. GET /api/Responsaveis

Listar Todos os Responsáveis

2. POST /api/Responsaveis

Criar Novo Responsável

3. GET /api/Responsaveis/{id}

Obter Responsável por ID

4. PUT /api/Responsaveis/{id}

Atualizar Responsável

5. DELETE /api/Responsaveis/{id}

Excluir Responsável

6. GET /api/Responsaveis/{identificador}/atletas

Obter Atletas por Responsável

7. POST /api/Responsaveis/{identificador}/atletas/{atletaIdentificador}

Adicionar Atleta ao Responsável

8. DELETE /api/Responsaveis/{identificador}/atletas/{atletaIdentificador}

Remover Atleta do Responsável

9. GET /api/Responsaveis/pesquisar

Pesquisar Responsáveis

🔧 Modelo de Dados

Estrutura do Responsável

{
  "id": "string",
  "nome": "string",
  "userId": "string",
  "email": "string",
  "telefone": "string",
  "cpf": "string",
  "tipo": "TipoResponsavel",
  "status": "StatusResponsavel",
  "dataCadastro": "datetime",
  "dataAtualizacao": "datetime"
}

Estrutura de Atleta Vinculado

{
  "id": "integer",
  "nome": "string",
  "userId": "string",
  "dataNascimento": "datetime",
  "sexo": "string",
  "email": "string",
  "cpf": "string"
}

Estrutura de Relação Responsável-Atleta

{
  "responsavelId": "string",
  "atletaId": "string",
  "relacaoId": "integer",
  "dataVinculacao": "datetime"
}

🔐 Autenticação e Autorização

Todos os endpoints requerem:

📊 Casos de Uso Principais

1. Cadastro de Responsável

POST /api/Responsaveis
Content-Type: application/json
Authorization: Bearer {token}

{
  "nome": "Maria Silva",
  "userId": "user-123",
  "email": "[email protected]",
  "telefone": "(11) 99999-9999",
  "cpf": "123.456.789-00",
  "tipo": "Mae",
  "status": "Ativo"
}

2. Busca de Atletas por Responsável

GET /api/Responsaveis/[email protected]/atletas
Authorization: Bearer {token}

3. Vincular Atleta ao Responsável

POST /api/Responsaveis/[email protected]/atletas/joao.silva
Authorization: Bearer {token}

4. Pesquisa Avançada

GET /api/Responsaveis/pesquisar?nome=Maria&tipo=Mae&status=Ativo
Authorization: Bearer {token}

5. Atualização de Dados

PUT /api/Responsaveis/resp-456
Content-Type: application/json
Authorization: Bearer {token}

{
  "nome": "Maria Silva Santos",
  "telefone": "(11) 88888-8888"
}

⚠️ Validações e Regras de Negócio

Validações Obrigatórias

Regras de Negócio

🚨 Tratamento de Erros

Códigos de Status HTTP

Formato de Erro

{
  "error": "string",
  "message": "string",
  "details": "string",
  "timestamp": "datetime"
}

📈 Performance e Limitações

Limitações

Otimizações

🔄 Integração com Outros Módulos

Módulos Relacionados

📱 Uso em Aplicações

Web App

Mobile App

🛠️ Manutenção e Monitoramento

Logs Importantes

Métricas Monitoradas

📚 Exemplos Práticos

Fluxo Completo de Cadastro

  1. Validação de dados no backend pela própria API
  2. POST /api/Responsaveis com dados validados
  3. Associação automática com usuário existente
  4. Envio de notificação de boas-vindas
  5. Criação de perfil no sistema

Fluxo de Vínculo Responsável-Atleta

  1. Busca do responsável por identificador flexível
  2. Busca do atleta por identificador flexível
  3. POST /api/Responsaveis/{id}/atletas/{atletaId}
  4. Criação da relação no sistema
  5. Confirmação do vínculo criado

Fluxo de Busca e Filtros

  1. GET /api/Responsaveis/pesquisar com parâmetros
  2. Aplicação de filtros no backend
  3. Retorno paginado dos resultados
  4. Cache dos resultados para próximas buscas

🎯 Tipos e Enums

TipoResponsavel

StatusResponsavel


Versão: 1.0
Última Atualização: Outubro de 2025
Responsável: Equipe de Desenvolvimento CordenaAi